package com.gitee.deeround.jdbchelper.core;


import java.util.List;

/**
 * 数据库操作扩展
 *
 * @author deeround
 * @date 2024/03/29
 */
public interface DbActionExt {

    /**
     * MergeInto操作
     *
     * @param tableName     表名称
     * @param newData       新数据
     * @param idColumn      主键
     * @param insertColumns 插入字段
     * @param updateColumns 更新字段
     */
    void mergeInto(String tableName, String newData, String idColumn, List<String> insertColumns, List<String> updateColumns);

    /**
     * MergeInto操作
     *
     * @param tableName     表名称
     * @param newData       新数据
     * @param idColumn      主键
     * @param insertColumns 插入字段
     * @param updateColumns 更新字段
     */
    void mergeInto(String tableName, String newData, String idColumn, List<String> insertColumns, List<String> updateColumns, Object[] ps);


    /**
     * 递归查询子集
     */
    String recursiveSub(String tableName, String idColumn, String pidColumn, List<String> columns, String idValue);
}
